#include "include.h"

/****************************************************************
 *This function is thread21
 *	(1)create socket,listen port,process command
 ****************************************************************/
void *thread21(void *str)
{
	unsigned int pcm_store_len = 0;

	fprintf(stderr,"thread twenty_one running\n");
	
	while(1){
		// 开始存储有效后，进行数据存储
		if((pcm_store_status == START_PCM_STORE) && (pcm_store_fd > 0)){
			// 当前数据正在存储在数据缓冲区1中，同时数据缓冲区2中有数据要存储，则开始存储
			if((pcm_store_flag == PCM_STORE_USE_ONE) && (pcm_one_store_len_2 > 0)){
				// 记录PCM有效数据长度
				pcm_store_len = pcm_one_store_len_2;

				// 清除PCM第二缓冲区长度
				pcm_one_store_len_2 = 0;

				// 数据存储到文件中
				write(pcm_store_fd, pcm_one_store_buff_2, pcm_store_len);

				// 记录存储长度
				all_store_data_len += pcm_store_len;
				inter_pcm_wr_time ++;

				//fprintf(stderr,"s2 :%d\n", pcm_store_len);
			} else if((pcm_store_flag == PCM_STORE_USE_TWO) && (pcm_one_store_len_1 > 0)){
				// 记录PCM有效数据长度
				pcm_store_len = pcm_one_store_len_1;

				// 清除PCM第二缓冲区长度
				pcm_one_store_len_1 = 0;

				// 数据存储到文件中
				write(pcm_store_fd, pcm_one_store_buff_1, pcm_store_len);

				// 记录存储长度
				all_store_data_len += pcm_store_len;
				inter_pcm_wr_time ++;

				//fprintf(stderr,"s1 :%d\n", pcm_store_len);
			} else {
				;
			}

			inter_pcm_time ++;
		}
		usleep(50000);
	}
	
	return NULL;
}

